1. Technical Field
The present disclosure relates to interleaving and deinterleaving a data stream, particularly a data stream of the standard DVB-T2 (Digital Video Broadcasting-Terrestrial 2).
2. Related Art
Digital broadcasting systems such as the DVB-T2 system can obtain good performances, even in the presence of grouped transmission errors, thanks to a receiver performing, in combination with the error correction and deinterleaving operations, the deinterleaving operation corresponding to an operation that is the opposite of the interleaving performed in the emitter. The deinterleaving operation in the receiver enables any grouped transmission errors to be distributed in a regular manner in a data stream, and thus to be corrected by an error correcting device.
FIG. 1 schematically represents an example of a data block transmission chain. In FIG. 1, the transmission chain COMC comprises a transmitter TRSM receiving a data block to be transmitted S, a transmission link TC and a receiver REC supplying a received data block S′. The transmitter TRSM classically comprises a data compression module SENC receiving the data blocks to be transmitted S, a channel encoding module CENC receiving the compressed data blocks, a data interleaving module ILV receiving the data blocks at the output of the module CENC and a modulator MPM receiving the interleaved data blocks and transmitting them into the transmission link.
The receiver comprises a demodulator DMP receiving the data transmitted by the link TC, and supplying demodulated data blocks, a deinterleaving module DILV receiving the demodulated data blocks, a channel decoding module CDEC receiving the data blocks at the output of the deinterleaving module and a data decompressing module SDEC receiving the data decoded by the module CDEC and supplying the demodulated data blocks S′. The module CDEC may comprise an error correcting module enabling redundancies in the data coding to be used to correct any transmission errors.
There are several methods of interleaving, including methods of block interleaving, in which the data to be interleaved is organized in blocks of several rows and several columns. A block interleaving method involves for example writing the data consecutively, i.e. by row of the block, in a memory, and reading the data in the memory by column of the block, or conversely. If the interleaving method reads a data block in rows and writes it in columns, the corresponding deinterleaving method reads a data block in columns and writes it in rows, to obtain a block of non-interleaved data. Conversely, if the interleaving method reads a data block in columns and writes it in rows, the corresponding deinterleaving method reads a data block in rows and writes it in columns. From a functional point of view, the interleaving and deinterleaving operations are therefore equivalent. Below, the word “interleaving” means both an interleaving operation and a deinterleaving operation.
The latency of a block interleaving operation is one data block, i.e. the first datum of a data block is supplied at the output of the interleaving module when the entire block is received by the module. In some systems like those complying with the standard DVB-T2, the size of the blocks is variable. The blocks can be interleaved using two memory zones enabling two blocks to be stored simultaneously, one of the two blocks being written while the other block is read. Therefore the prior art methods require the use of a memory with a capacity which is greater than two times the maximum size of a block. This solution proves very expensive in terms of necessary memory size when the maximum size of a block is high. According to standard DVB-T2, a data block comprises 557,056 data of 32 bits. The size of the memory used by the interleaving operation must therefore be at least two times 17.8 Mbits.